برچسب: نویسنده: خنجی تاريخ: جمعه 15 بهمن 1400 ساعت: 14:09
برچسب: نویسنده: خنجی تاريخ: جمعه 15 بهمن 1400 ساعت: 14:09
همانطور که می دانید، از طریق قابلیت (Automatic Data Optimization (ADO می توان سیاستهایی را بر اساس آمارهای دستیابی و اصلاح segmentها، برای کاهش فضای مصرفی و بهبود کارایی اعمال کرد برای مثال با فشرده سازی جداولی که کمتر مورد اصلاح و یا دستیابی قرار می گیرند و نیز انتقال segmentهای کم طرفدار به دیسک با هزینه کمتر، می توان قدمهایی را در زمینه بهینه سازی برداشت.
ADO در اوراکل نسخه 12c ارائه شد و بعدا در هر کدام از نسخه ها، قابلیتهای جدیدی به آن اضافه شد که در این مطلب، به قابلیت جدید اوراکل نسخه 21c در این زمینه خواهیم پرداخت.
در این نسخه می توان با کمک ADO برای ایندکسها پالیسیهایی را وضع کرد مثلا می توان بر اساس تاریخ آخرین زمان دستیابی و اصلاح، در سه سطح فشرده سازی(compressing)، بازسازی(rebuilding) و کاهش حجم(shrinking) قوانینی را اعمال نمود.
برای استفاده از این فیچر، باید قابلیت HEAT_MAP را فعال کنیم تا اوراکل با ثبت data access و data modification آمار فعالیتهای مربوط به ایندکس را(همانند جداول و بقیه segmentها) جمع آوری کرده و زیر نظر داشته باشد.
در ادامه پالیسی ای را با طی چند مرحله ایجاد خواهیم کرد که بر اساس آن، اگر به ایندکسی به مدت 4 روز رجوع نشود(no access)، ایندکس optimize شود. optimize می تواند یکی از عملیات فوق(compressing، rebuilding و shrinking) باشد که تصمیم گیری آن با خود اوراکل است.
1.در قدم اول، برای استفاده از قابلیت ADO، باید پارامتر HEAT_MAP را به مقدار ON تنظیم کنیم.
SQL> alter system set heat_map=ON;
System altered
توجه: برای مشاهده آمارهای جمع آوری شده توسط قابلیت HEAT MAP، می توان از ویوی V$HEAT_MAP_SEGMENT استفاده کرد(مطالعه بیشتر).
2.جدول و
برچسب: نویسنده: خنجی تاريخ: جمعه 15 بهمن 1400 ساعت: 14:09
GIMR یا همان Grid Infrastructure Management Repository در اوراکل 12c ارائه شد و هدف اوراکل از ارائه GIMR، ثبت وقایع و رخدادهای مربوط به کلاستر می باشد به طور دقیق تر، GIMR قرار است Cluster Health Monitor را در دیتابیسش ثبت کند. این دیتابیس حدودا 20 جدول دارد که لیست جداول آن را می توان به روش زیر مشاهده کرد:
[grid@RAC1 ~]$ export ORACLE_SID=-MGMTDB
[grid@RAC1 ~]$ sqlplus "/as sysdba"
SQL> alter session set container=GIMR_DSCREP_10;
Session altered.
SQL> select table_name from dba_tables where owner='CHM' order by table_name;
TABLE_NAME
--------------------------------------------------------------------------------
CATCHMUTILPLS_PARTITION_TMP_TBL
CHMOS_ACTIVE_CONFIG_INT_TBL
CHMOS_ADVM_INT_TBL
…
16 rows selected.
به طور نمونه، با استفاده از جدول CHMOS_SYSTEM_SAMPLE_INT_TBL می توان اطلاعاتی را در مورد DISK IO بدست آورد:
select to_char(begintime, 'YYYY/MM/DD HH24:mi:ss', 'NLS_CALENDAR=persian') begintime,
round(DISK_BYTESREADPERSEC / 1024 / 1024) as MB_READ_SEC,
round(DISK_BYTESWRITTENPERSEC / 1024 / 1024) as MB_WRITE_SEC,
round(DISK_NUMIOSPERSEC) as IO_PER_SEC
from CHM.CHMOS_SYSTEM_SAMPLE_INT_TBL
order by IO_PER_SEC ;
BEGINTIME MB_READ_SEC MB_WRITE_SEC IO_PER_SEC
------------------- ----------- ------------ ----------
1400/11/03 09:53:20 14 147 856
1400/11/01 06:58:45 815 0 858
1400/11/01 06:39:55 314 2 858
1400/11/04 09:33:00 23 3 85
برچسب: نویسنده: خنجی تاريخ: جمعه 15 بهمن 1400 ساعت: 14:09